<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/3/20
 * Time: 22:57
 */

namespace app\common\model;


use think\Model;

class FavoritesItem extends Model
{
    /**
     * 主键
     * @var string
     */
    protected $pk = 'id';

    /**
     * 表
     * @var string
     */
    protected $table = 'tbk_favorites_item';


    /**
     * 类型自动转换
     * @var array
     */
    protected $type = [
        'created_time' => 'datetime',
        'updated_time' => 'datetime',
    ];

    /**
     * 获取所有在销售商品的id
     * @return array
     */
    public function getAllIds()
    {
        return $this->where('status', BoolStatus::OPEN)->column('id');
    }

    /**
     * 通过商品编号获取商品数据
     * @param array $idArr 商品编号数组集合
     * @return false|\PDOStatement|string|\think\Collection
     */
    public function getDataByIds($idArr)
    {
        $data = $this->where('status', '=', BoolStatus::OPEN)
            ->where('id', 'in', $idArr)
            ->order('id', 'DESC')
            ->select();
        return $data;
    }

    /**
     * 获取随机推荐的商品
     * @param int $num 显示的数量
     * @return false|\PDOStatement|string|\think\Collection
     */
    public function getRandRecommendData($num = 4)
    {
        $idArr = $this->getAllIds();
        shuffle($idArr);
        $gidArr             = array_slice($idArr, 0, $num);
        return $this->getDataByIds($gidArr);
    }
}